
import type { JSX } from 'solid-js';
import { convertIcon, IconProps } from '../Icon';

export function FeatherAlertCircle(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-alert-circle cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <circle cx={12} cy={12} r={10} />
            <line x1={12} y1={8} x2={12} y2={12} />
            <line x1={12} y1={16} x2={12.01} y2={16} />
        </svg>
    );
    return convertIcon(FN, "alert-circle", "custom", props);
}


export function FeatherAlertTriangle(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-alert-triangle cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" />
            <line x1={12} y1={9} x2={12} y2={13} />
            <line x1={12} y1={17} x2={12.01} y2={17} />
        </svg>
    );
    return convertIcon(FN, "alert-triangle", "custom", props);
}


export function FeatherArrowLeft(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-arrow-left cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <line x1={19} y1={12} x2={5} y2={12} />
            <polyline points="12 19 5 12 12 5" />
        </svg>
    );
    return convertIcon(FN, "arrow-left", "custom", props);
}


export function FeatherArrowRight(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-arrow-right cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <line x1={5} y1={12} x2={19} y2={12} />
            <polyline points="12 5 19 12 12 19" />
        </svg>
    );
    return convertIcon(FN, "arrow-right", "custom", props);
}


export function FeatherBell(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-bell cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" />
            <path d="M13.73 21a2 2 0 0 1-3.46 0" />
        </svg>
    );
    return convertIcon(FN, "bell", "custom", props);
}


export function FeatherBox(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-box cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
            <polyline points="3.27 6.96 12 12.01 20.73 6.96" />
            <line x1={12} y1={22.08} x2={12} y2={12} />
        </svg>
    );
    return convertIcon(FN, "box", "custom", props);
}


export function FeatherCalendar(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-calendar cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <rect x={3} y={4} width={18} height={18} rx={2} ry={2} />
            <line x1={16} y1={2} x2={16} y2={6} />
            <line x1={8} y1={2} x2={8} y2={6} />
            <line x1={3} y1={10} x2={21} y2={10} />
        </svg>
    );
    return convertIcon(FN, "calendar", "custom", props);
}


export function FeatherCamera(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-camera cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z" />
            <circle cx={12} cy={13} r={4} />
        </svg>
    );
    return convertIcon(FN, "camera", "custom", props);
}


export function FeatherCheckCircle(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-check-circle cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M22 11.08V12a10 10 0 1 1-5.93-9.14" />
            <polyline points="22 4 12 14.01 9 11.01" />
        </svg>
    );
    return convertIcon(FN, "check-circle", "custom", props);
}


export function FeatherCheck(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-check cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="20 6 9 17 4 12" />
        </svg>
    );
    return convertIcon(FN, "check", "custom", props);
}


export function FeatherChevronDown(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevron-down cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="6 9 12 15 18 9" />
        </svg>
    );
    return convertIcon(FN, "chevron-down", "custom", props);
}


export function FeatherChevronLeft(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevron-left cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="15 18 9 12 15 6" />
        </svg>
    );
    return convertIcon(FN, "chevron-left", "custom", props);
}


export function FeatherChevronRight(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevron-right cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="9 18 15 12 9 6" />
        </svg>
    );
    return convertIcon(FN, "chevron-right", "custom", props);
}


export function FeatherChevronUp(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevron-up cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="18 15 12 9 6 15" />
        </svg>
    );
    return convertIcon(FN, "chevron-up", "custom", props);
}


export function FeatherChevronsDown(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevrons-down cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="7 13 12 18 17 13" />
            <polyline points="7 6 12 11 17 6" />
        </svg>
    );
    return convertIcon(FN, "chevrons-down", "custom", props);
}


export function FeatherChevronsLeft(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevrons-left cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="11 17 6 12 11 7" />
            <polyline points="18 17 13 12 18 7" />
        </svg>
    );
    return convertIcon(FN, "chevrons-left", "custom", props);
}


export function FeatherChevronsRight(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevrons-right cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="13 17 18 12 13 7" />
            <polyline points="6 17 11 12 6 7" />
        </svg>
    );
    return convertIcon(FN, "chevrons-right", "custom", props);
}


export function FeatherChevronsUp(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-chevrons-up cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="17 11 12 6 7 11" />
            <polyline points="17 18 12 13 7 18" />
        </svg>
    );
    return convertIcon(FN, "chevrons-up", "custom", props);
}


export function FeatherClock(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-clock cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <circle cx={12} cy={12} r={10} />
            <polyline points="12 6 12 12 16 14" />
        </svg>
    );
    return convertIcon(FN, "clock", "custom", props);
}


export function FeatherCode(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-code cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polyline points="16 18 22 12 16 6" />
            <polyline points="8 6 2 12 8 18" />
        </svg>
    );
    return convertIcon(FN, "code", "custom", props);
}


export function FeatherCodesandbox(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-codesandbox cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
            <polyline points="7.5 4.21 12 6.81 16.5 4.21" />
            <polyline points="7.5 19.79 7.5 14.6 3 12" />
            <polyline points="21 12 16.5 14.6 16.5 19.79" />
            <polyline points="3.27 6.96 12 12.01 20.73 6.96" />
            <line x1={12} y1={22.08} x2={12} y2={12} />
        </svg>
    );
    return convertIcon(FN, "codesandbox", "custom", props);
}


export function FeatherCommand(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-command cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z" />
        </svg>
    );
    return convertIcon(FN, "command", "custom", props);
}


export function FeatherCopy(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-copy cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <rect x={9} y={9} width={13} height={13} rx={2} ry={2} />
            <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
        </svg>
    );
    return convertIcon(FN, "copy", "custom", props);
}


export function FeatherEyeOff(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-eye-off cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24" />
            <line x1={1} y1={1} x2={23} y2={23} />
        </svg>
    );
    return convertIcon(FN, "eye-off", "custom", props);
}


export function FeatherEye(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-eye cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" />
            <circle cx={12} cy={12} r={3} />
        </svg>
    );
    return convertIcon(FN, "eye", "custom", props);
}


export function FeatherFileText(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-file-text cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" />
            <polyline points="14 2 14 8 20 8" />
            <line x1={16} y1={13} x2={8} y2={13} />
            <line x1={16} y1={17} x2={8} y2={17} />
            <polyline points="10 9 9 9 8 9" />
        </svg>
    );
    return convertIcon(FN, "file-text", "custom", props);
}


export function FeatherFilm(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-film cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <rect x={2} y={2} width={20} height={20} rx={2.18} ry={2.18} />
            <line x1={7} y1={2} x2={7} y2={22} />
            <line x1={17} y1={2} x2={17} y2={22} />
            <line x1={2} y1={12} x2={22} y2={12} />
            <line x1={2} y1={7} x2={7} y2={7} />
            <line x1={2} y1={17} x2={7} y2={17} />
            <line x1={17} y1={17} x2={22} y2={17} />
            <line x1={17} y1={7} x2={22} y2={7} />
        </svg>
    );
    return convertIcon(FN, "film", "custom", props);
}


export function FeatherHeart(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-heart cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" />
        </svg>
    );
    return convertIcon(FN, "heart", "custom", props);
}


export function FeatherHelpCircle(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-help-circle cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <circle cx={12} cy={12} r={10} />
            <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
            <line x1={12} y1={17} x2={12.01} y2={17} />
        </svg>
    );
    return convertIcon(FN, "help-circle", "custom", props);
}


export function FeatherImage(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-image cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <rect x={3} y={3} width={18} height={18} rx={2} ry={2} />
            <circle cx={8.5} cy={8.5} r={1.5} />
            <polyline points="21 15 16 10 5 21" />
        </svg>
    );
    return convertIcon(FN, "image", "custom", props);
}


export function FeatherKey(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-key cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4" />
        </svg>
    );
    return convertIcon(FN, "key", "custom", props);
}


export function FeatherLink(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-link cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" />
            <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" />
        </svg>
    );
    return convertIcon(FN, "link", "custom", props);
}


export function FeatherList(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-list cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <line x1={8} y1={6} x2={21} y2={6} />
            <line x1={8} y1={12} x2={21} y2={12} />
            <line x1={8} y1={18} x2={21} y2={18} />
            <line x1={3} y1={6} x2={3.01} y2={6} />
            <line x1={3} y1={12} x2={3.01} y2={12} />
            <line x1={3} y1={18} x2={3.01} y2={18} />
        </svg>
    );
    return convertIcon(FN, "list", "custom", props);
}


export function FeatherLoader(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-loader cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <line x1={12} y1={2} x2={12} y2={6} />
            <line x1={12} y1={18} x2={12} y2={22} />
            <line x1={4.93} y1={4.93} x2={7.76} y2={7.76} />
            <line x1={16.24} y1={16.24} x2={19.07} y2={19.07} />
            <line x1={2} y1={12} x2={6} y2={12} />
            <line x1={18} y1={12} x2={22} y2={12} />
            <line x1={4.93} y1={19.07} x2={7.76} y2={16.24} />
            <line x1={16.24} y1={7.76} x2={19.07} y2={4.93} />
        </svg>
    );
    return convertIcon(FN, "loader", "custom", props);
}


export function FeatherMail(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-mail cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" />
            <polyline points="22,6 12,13 2,6" />
        </svg>
    );
    return convertIcon(FN, "mail", "custom", props);
}


export function FeatherMinusSquare(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-minus-square cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <rect x={3} y={3} width={18} height={18} rx={2} ry={2} />
            <line x1={8} y1={12} x2={16} y2={12} />
        </svg>
    );
    return convertIcon(FN, "minus-square", "custom", props);
}


export function FeatherMinus(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-minus cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <line x1={5} y1={12} x2={19} y2={12} />
        </svg>
    );
    return convertIcon(FN, "minus", "custom", props);
}


export function FeatherMoreHorizontal(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-more-horizontal cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <circle cx={12} cy={12} r={1} />
            <circle cx={19} cy={12} r={1} />
            <circle cx={5} cy={12} r={1} />
        </svg>
    );
    return convertIcon(FN, "more-horizontal", "custom", props);
}


export function FeatherMusic(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-music cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M9 18V5l12-2v13" />
            <circle cx={6} cy={18} r={3} />
            <circle cx={18} cy={16} r={3} />
        </svg>
    );
    return convertIcon(FN, "music", "custom", props);
}


export function FeatherPlusSquare(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-plus-square cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <rect x={3} y={3} width={18} height={18} rx={2} ry={2} />
            <line x1={12} y1={8} x2={12} y2={16} />
            <line x1={8} y1={12} x2={16} y2={12} />
        </svg>
    );
    return convertIcon(FN, "plus-square", "custom", props);
}


export function FeatherPlus(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-plus cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <line x1={12} y1={5} x2={12} y2={19} />
            <line x1={5} y1={12} x2={19} y2={12} />
        </svg>
    );
    return convertIcon(FN, "plus", "custom", props);
}


export function FeatherSearch(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-search cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <circle cx={11} cy={11} r={8} />
            <line x1={21} y1={21} x2={16.65} y2={16.65} />
        </svg>
    );
    return convertIcon(FN, "search", "custom", props);
}


export function FeatherSettings(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-settings cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <circle cx={12} cy={12} r={3} />
            <path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" />
        </svg>
    );
    return convertIcon(FN, "settings", "custom", props);
}


export function FeatherShare(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-share cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" />
            <polyline points="16 6 12 2 8 6" />
            <line x1={12} y1={2} x2={12} y2={15} />
        </svg>
    );
    return convertIcon(FN, "share", "custom", props);
}


export function FeatherSlack(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-slack cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z" />
            <path d="M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z" />
            <path d="M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z" />
            <path d="M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z" />
            <path d="M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z" />
            <path d="M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z" />
            <path d="M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z" />
            <path d="M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z" />
        </svg>
    );
    return convertIcon(FN, "slack", "custom", props);
}


export function FeatherSmartphone(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-smartphone cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <rect x={5} y={2} width={14} height={20} rx={2} ry={2} />
            <line x1={12} y1={18} x2={12.01} y2={18} />
        </svg>
    );
    return convertIcon(FN, "smartphone", "custom", props);
}


export function FeatherStar(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-star cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
        </svg>
    );
    return convertIcon(FN, "star", "custom", props);
}


export function FeatherTag(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-tag cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z" />
            <line x1={7} y1={7} x2={7.01} y2={7} />
        </svg>
    );
    return convertIcon(FN, "tag", "custom", props);
}


export function FeatherThumbsUp(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-thumbs-up cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3" />
        </svg>
    );
    return convertIcon(FN, "thumbs-up", "custom", props);
}


export function FeatherTool(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-tool cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z" />
        </svg>
    );
    return convertIcon(FN, "tool", "custom", props);
}


export function FeatherUser(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-user cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" />
            <circle cx={12} cy={7} r={4} />
        </svg>
    );
    return convertIcon(FN, "user", "custom", props);
}


export function FeatherXCircle(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-x-circle cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <circle cx={12} cy={12} r={10} />
            <line x1={15} y1={9} x2={9} y2={15} />
            <line x1={9} y1={9} x2={15} y2={15} />
        </svg>
    );
    return convertIcon(FN, "x-circle", "custom", props);
}


export function FeatherX(props: IconProps) {
    const FN = (props: JSX.SvgSVGAttributes<SVGSVGElement>) => (
        <svg
            xmlns="http://www.w3.org/2000/svg"
            width="1em"
            height="1em"
            viewBox="0 0 24 24"
            fill="none"
            stroke="currentColor"
            stroke-linecap="round"
            stroke-linejoin="round"
            class="cui-icon-x cui-icon-custom cui-icon-feather"
            stroke-width={2}
            {...props}
        >
            <line x1={18} y1={6} x2={6} y2={18} />
            <line x1={6} y1={6} x2={18} y2={18} />
        </svg>
    );
    return convertIcon(FN, "x", "custom", props);
}


